In the computer industry much effort has gone into designing user interfaces which are easy to use and learn. Early user interfaces were character-based, that is, the computer was operated by a set of character-based commands. It was absolutely necessary that the commands were entered correctly and with the proper syntax, otherwise the desired operation would not be performed. Character-based user interfaces are still widely used.
Although the command sets of character-based interfaces were generally logically constructed, it was recognized that to efficiently operate a computer the user was required to memorize command sets. This often is a difficult task, especially as more commands become available and necessary. To simplify the task of learning how to operate a computer, graphics-based interfaces have been developed. Now, rather than using commands to operate the computer, graphical symbols and defined actions are used.
These graphics-based interfaces are typically designed around some kind of metaphor, i.e. a symbol or set of symbols associated with the computer operation or operations. A metaphor allows the user to better associate the operations required by the interface with something that is familiar. Commonly, the metaphor is that of an index card file, with one card stacked atop another with a slight offset, giving the illusion of vertical stacking. In this way the operations are somewhat intuitive since they borrow actions and familiar concepts related to index card filing.
Icons are often used as part of the metaphor to represent the applications, computer files and system elements that are available. To perform a command the user is required to do something with the icons, such as "dragging" one icon over to and dropping it on another icon. A cursor pad or a mouse is used for this purpose. Another example would be to click on an icon, after which a pull-down or pop-up menu would appear. Graphical interfaces generally reduce the difficulty in learning how to operate a computer system, since memorizing long sets of word based commands and syntax is not required.
To further aid computer productivity it became desirable to provide a "multi-tasking" environment in which a user could implement several applications at the same time. A convenient and effective method of providing multi-tasking has been provided by the development of multi-window systems. In such systems, different computer windows, i.e. software applications or data files, may be opened and used by the user simultaneously. Computer windows appear on the display monitor of a computer as a virtual window, that is, the contents of a file associated with the window may be viewed within the area described by the window. Several windows may appear on the display monitor at the same time and often appear as if they are layered, one on top of another. For ease of use these multi-window systems often incorporate the features of icons and pulldown menus found in graphics interfaces.
A well-known multi-window graphics interface, called the Macintosh interface from Apple Computers, opens and closes windows with the use of icons which look like miniature file folders. When a window is closed in this system, the contents of the window collapse down into the file folder icon. The icon remains in the central portion of the computer screen. Several layers of windows, i.e. a vertical stack, are made available in this manner. Moving these icons to other parts of the screen requires manual use of a mouse.
The screen display is organized in this and other similar interfaces by a series of windows. A main window contains primary file folders. This window generally occupies a large portion of the screen. To see the contents of a particular primary file folder, the user is required to point and click on the icon of that particular file folder. A pop-up window of icons representing the different files and contents of the file folder is then displayed. This pop-up window generally overlaps and hides part of the main window. To actually see the text of a file another point and click procedure must be done. This results in yet another window appearing on the screen which completely fills the screen and hides the other vertically stacked windows. While open, the source of this text file window is not readily apparent, that is from which file folder it came.
The display screen becomes even more crowded and complex if the contents of two or more primary file folders are desired. Furthermore, there may be several main windows depending on how the storage device is divided. Thus, the user may become lost as to where in the vertical hierarchy of the files he or she is at any given moment. Moreover, to implement or view another file the user must "back track" out through the vertical stack. For example, if one was working on a document and wanted to view their appointments calendar file, the user would have to get out of the document file and go back through the stack to a window containing the appointments calendar file.
Examples of other multi-window systems which make use of a mouse are found in U.S. Pat. Nos. 4,831,556, to Oono, 4,819,189, to Kakuchi et al., and 4,783,648, to Homma et al. The patent to Oono describes a window display which gives the position and size of a window. The patent to Kakuchi et al. is directed to automatically bringing a computer window in front of other windows when a cursor is directed into that window. And the patent to Homma et al. is directed to automatically shifting positions of windows based on display priority.
Still other multi-window systems have focused their attention on how to display and activate the various windows on the screen. Systems with this focus are exemplified in U.S. Pat. Nos. 4,862,389, to Takagi, 4,780,709, to Randall, 4,769,636, to Iwami et al., 4,653,020, to Cheselka et al., and 4,555,775 to Pike.
Although the above graphics-based user interface systems represent a significant improvement over character-based interfaces, these systems do not accurately simulate real world document handling activities. For instance, a document does not collapse down into a small icon. Moreover, the organization of computer files is not always discernible with these systems and this places the burden of memorizing the organization of the files on the user.
Therefore, in view of the above, it is an object of the present invention to devise a multi-window computer interface based upon a display metaphor which is intuitive, well organized and easy to understand.
It is another object of the present invention to provide in a multi-window interface an automatic means for identifying and organizing computer windows, which is based upon familiar document handling activities.